#pragma once
#include<stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "Contact.h"
#include <string.h>
//
//typedef PerInfo SLDatatype;
//typedef struct SList
//{
//	SLDatatype* arr;
//	int size;
//	int capaciti;
//}SL;
//
//void SLInit(SL* ps);
//void SLPushback(SL* ps,SLDatatype x);
//void SLPrint(SL* ps);
//void SLPushfront(SL* ps,SLDatatype x);
//void SLPopback(SL* ps);
//void SLpopfront(SL* ps);
//void SLInsert(SL* ps,int pos,SLDatatype x);
////int SLFind(SL* ps,SLDatatype x);
//void SLErase(SL* ps,int pos);
//void SLDstroy(SL* ps);
//void SLChseck(SL* ps);

//typedef int SLTDatatype;
//typedef struct SListNode
//{
//	SLTDatatype data;
//	struct SListNode* next;
//
//}SLN;
//
//
//void SLTPushback(SLN** phead,SLTDatatype x);
//void SLTPrint(SLN* phead);
//void SLTPushfrontf(SLN** pphead, SLTDatatype x);
//void SLTpopback(SLN** pphead);
//void SLTpopfrot(SLN** pphead);
//SLN* SLTFind(SLN* phead, SLTDatatype x);
//void SLTInsert(SLN** pphead, SLN* pos, SLTDatatype x);
//void SLInsertAfter(SLN* pos, SLTDatatype x);
//void SLTDstroy(SLN** pphead);

typedef int LTDatatype;
typedef struct ListNode
{
	struct ListNode* next;
	struct ListNode* prev;
	LTDatatype data;
}LT;

LT* LTInit();
//void LTDstory(LT* phead);
void LTPushback(LT* phead,LTDatatype x);
void LTPrint(LT* phead);
void LTPushfront(LT* phead, LTDatatype x);
void LTpopback(LT* phead);